perm filename SLAVE.SAI[SAI,BGB]1 blob sn#098170 filedate 1974-04-25 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00003 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	BEGIN "SLAVE"
C00004 00003		EXTERNAL SIMPLE PROCEDURE MKUNIV
C00005 ENDMK
C⊗;
BEGIN "SLAVE"
	REQUIRE "SYS:GLBSG7" SEGMENT_FILE;
	REQUIRE "BGBTST" SEGMENT_NAME;
	INTERNAL GLOBAL INTEGER RESULT;

	REQUIRE "GEOMED.REL[GEM,HE]"	LOAD_MODULE;
	REQUIRE "GEMSUB.REL[GEM,HE]"	LOAD_MODULE;
	REQUIRE "MEMIO.REL[GEM,HE]"	LOAD_MODULE;
	REQUIRE "EULER.REL[GEM,HE]"	LOAD_MODULE;
	REQUIRE "EUCLID.REL[GEM,HE]"	LOAD_MODULE;
	REQUIRE "VIEWER.REL[GEM,HE]"	LOAD_MODULE;
	REQUIRE "OCCULT.REL[GEM,HE]"	LOAD_MODULE;
	REQUIRE "BIN.REL[GEM,HE]"	LOAD_MODULE;

	DEFINE ⊂="BEGIN";
	DEFINE ⊃="END";
	DEFINE α="COMMENT";
	DEFINE XSUBR="EXTERNAL SIMPLE PROCEDURE";
	DEFINE MSUBR="SIMPLE MESSAGE PROCEDURE";
	DEFINE ITG="INTEGER";

MSUBR GEODPY;⊂ XSUBR GEODPY;GEODPY;⊃;
MSUBR MKCUBE(REAL X,Y,Z);⊂ XSUBR MKCUBE(REAL X,Y,Z);MKCUBE(X,Y,Z);⊃;
MSUBR MKCYLN(REAL X,Y,Z);⊂ XSUBR MKCYLN(REAL X,Y,Z);MKCYLN(X,Y,Z);⊃;
MSUBR MKBALL(REAL X,Y,Z);⊂ XSUBR MKBALL(REAL X,Y,Z);MKBALL(X,Y,Z);⊃;

MSUBR TRANSL(ITG Q;REAL X,Y,Z);⊂ XSUBR TRANSL(ITG Q;REAL X,Y,Z);TRANSL(Q,X,Y,Z);⊃;
MSUBR ROTATE(ITG Q;REAL X,Y,Z);⊂ XSUBR ROTATE(ITG Q;REAL X,Y,Z);ROTATE(Q,X,Y,Z);⊃;
MSUBR SHRINK(ITG Q;REAL X,Y,Z);⊂ XSUBR SHRINK(ITG Q;REAL X,Y,Z);SHRINK(Q,X,Y,Z);⊃;
	EXTERNAL SIMPLE PROCEDURE MKUNIV;
	INTEGER MESS;
	OUTCHR("*");
	PUT_DATA(0,0,"SLAVE");
	MKUNIV;
WHILE TRUE DO
BEGIN
	MESS ← GET_ENTRY('120,NULL,"SLAVE",NULL);
	MESS ← QUEUE('600,MESS);
END;
END "SLAVE";